<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/linux/cpu.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/linux/cpu.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="k">/*</span>
<a name="2" /><span class="True">       2:</span> <span class="k"> * include/linux/cpu.h - generic cpu definition</span>
<a name="3" /><span class="True">       3:</span> <span class="k"> *</span>
<a name="4" /><span class="True">       4:</span> <span class="k"> * This is mainly for topological representation. We define the </span>
<a name="5" /><span class="True">       5:</span> <span class="k"> * basic &apos;struct cpu&apos; here, which can be embedded in per-arch </span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * definitions of processors.</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> *</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * Basic handling of the devices is done in drivers/base/cpu.c</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> *</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> * CPUs are exported via sysfs in the devices/system/cpu</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * directory. </span>
<a name="12" /><span class="True">      12:</span> <span class="k"> */</span>
<a name="13" /><span class="Maybe">      13:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X0xJTlVYX0NQVV9IX18w"><span class="b">_LINUX_CPU_H_</span></a>
<a name="14" /><span class="Maybe">      14:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X0xJTlVYX0NQVV9IX18w"><span class="b">_LINUX_CPU_H_</span></a>
<a name="15" /><span class="Maybe">      15:</span> 
<a name="16" /><span class="Maybe">      16:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">node</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="17" /><span class="Maybe">      17:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">compiler</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="18" /><span class="Maybe">      18:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">cpumask</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="19" /><span class="Maybe">      19:</span> 
<a name="20" /><span class="Maybe">      20:</span> <span class="m">struct</span> <span class="b">device</span><span class="f">;</span>
<a name="21" /><span class="Maybe">      21:</span> <span class="m">struct</span> <span class="b">device_node</span><span class="f">;</span>
<a name="22" /><span class="Maybe">      22:</span> 
<a name="23" /><span class="Maybe">      23:</span> <span class="m">struct</span> <span class="b">cpu</span> <span class="f">{</span>
<a name="24" /><span class="Maybe">      24:</span>     <span class="m">int</span> <span class="b">node_id</span><span class="f">;</span>        <span class="k">/* The node which contains the CPU */</span>
<a name="25" /><span class="Maybe">      25:</span>     <span class="m">int</span> <span class="b">hotpluggable</span><span class="f">;</span>    <span class="k">/* creates sysfs control file if hotpluggable */</span>
<a name="26" /><span class="Maybe">      26:</span>     <span class="m">struct</span> <span class="b">device</span> <span class="b">dev</span><span class="f">;</span>
<a name="27" /><span class="Maybe">      27:</span> <span class="f">}</span><span class="f">;</span>
<a name="28" /><span class="Maybe">      28:</span> 
<a name="29" /><span class="Maybe">      29:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">register_cpu</span><span class="f">(</span><span class="m">struct</span> <span class="b">cpu</span> <span class="f">*</span><span class="b">cpu</span><span class="f">,</span> <span class="m">int</span> <span class="b">num</span><span class="f">)</span><span class="f">;</span>
<a name="30" /><span class="Maybe">      30:</span> <span class="m">extern</span> <span class="m">struct</span> <span class="b">device</span> <span class="f">*</span><span class="b">get_cpu_device</span><span class="f">(</span><span class="m">unsigned</span> <span class="b">cpu</span><span class="f">)</span><span class="f">;</span>
<a name="31" /><span class="Maybe">      31:</span> <span class="m">extern</span> <span class="m">bool</span> <span class="b">cpu_is_hotpluggable</span><span class="f">(</span><span class="m">unsigned</span> <span class="b">cpu</span><span class="f">)</span><span class="f">;</span>
<a name="32" /><span class="Maybe">      32:</span> <span class="m">extern</span> <span class="m">bool</span> <span class="b">arch_match_cpu_phys_id</span><span class="f">(</span><span class="m">int</span> <span class="b">cpu</span><span class="f">,</span> <span class="b">u64</span> <span class="b">phys_id</span><span class="f">)</span><span class="f">;</span>
<a name="33" /><span class="Maybe">      33:</span> <span class="m">extern</span> <span class="m">bool</span> <span class="b">arch_find_n_match_cpu_physical_id</span><span class="f">(</span><span class="m">struct</span> <span class="b">device_node</span> <span class="f">*</span><span class="b">cpun</span><span class="f">,</span>
<a name="34" /><span class="Maybe">      34:</span>                           <span class="m">int</span> <span class="b">cpu</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">int</span> <span class="f">*</span><span class="b">thread</span><span class="f">)</span><span class="f">;</span>
<a name="35" /><span class="Maybe">      35:</span> 
<a name="36" /><span class="Maybe">      36:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">cpu_add_dev_attr</span><span class="f">(</span><span class="m">struct</span> <span class="b">device_attribute</span> <span class="f">*</span><span class="b">attr</span><span class="f">)</span><span class="f">;</span>
<a name="37" /><span class="Maybe">      37:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">cpu_remove_dev_attr</span><span class="f">(</span><span class="m">struct</span> <span class="b">device_attribute</span> <span class="f">*</span><span class="b">attr</span><span class="f">)</span><span class="f">;</span>
<a name="38" /><span class="Maybe">      38:</span> 
<a name="39" /><span class="Maybe">      39:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">cpu_add_dev_attr_group</span><span class="f">(</span><span class="m">struct</span> <span class="b">attribute_group</span> <span class="f">*</span><span class="b">attrs</span><span class="f">)</span><span class="f">;</span>
<a name="40" /><span class="Maybe">      40:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">cpu_remove_dev_attr_group</span><span class="f">(</span><span class="m">struct</span> <span class="b">attribute_group</span> <span class="f">*</span><span class="b">attrs</span><span class="f">)</span><span class="f">;</span>
<a name="41" /><span class="Maybe">      41:</span> 
<a name="42" /><span class="Maybe">      42:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX0hPVFBMVUdfQ1BVXzA_"><span class="b">CONFIG_HOTPLUG_CPU</span></a>
<a name="43" /><span class="Maybe">      43:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">unregister_cpu</span><span class="f">(</span><span class="m">struct</span> <span class="b">cpu</span> <span class="f">*</span><span class="b">cpu</span><span class="f">)</span><span class="f">;</span>
<a name="44" /><span class="Maybe">      44:</span> <span class="m">extern</span> <span class="b">ssize_t</span> <span class="b">arch_cpu_probe</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">size_t</span><span class="f">)</span><span class="f">;</span>
<a name="45" /><span class="Maybe">      45:</span> <span class="m">extern</span> <span class="b">ssize_t</span> <span class="b">arch_cpu_release</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">size_t</span><span class="f">)</span><span class="f">;</span>
<a name="46" /><span class="Maybe">      46:</span> <span class="f">#</span><span class="n">endif</span>
<a name="47" /><span class="Maybe">      47:</span> <span class="m">struct</span> <span class="b">notifier_block</span><span class="f">;</span>
<a name="48" /><span class="Maybe">      48:</span> 
<a name="49" /><span class="Maybe">      49:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX0FSQ0hfSEFTX0NQVV9BVVRPUFJPQkVfMA__"><span class="b">CONFIG_ARCH_HAS_CPU_AUTOPROBE</span></a>
<a name="50" /><span class="Maybe">      50:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">arch_cpu_uevent</span><span class="f">(</span><span class="m">struct</span> <span class="b">device</span> <span class="f">*</span><span class="b">dev</span><span class="f">,</span> <span class="m">struct</span> <span class="b">kobj_uevent_env</span> <span class="f">*</span><span class="b">env</span><span class="f">)</span><span class="f">;</span>
<a name="51" /><span class="Maybe">      51:</span> <span class="m">extern</span> <span class="b">ssize_t</span> <span class="b">arch_print_cpu_modalias</span><span class="f">(</span><span class="m">struct</span> <span class="b">device</span> <span class="f">*</span><span class="b">dev</span><span class="f">,</span>
<a name="52" /><span class="Maybe">      52:</span>                        <span class="m">struct</span> <span class="b">device_attribute</span> <span class="f">*</span><span class="b">attr</span><span class="f">,</span>
<a name="53" /><span class="Maybe">      53:</span>                        <span class="m">char</span> <span class="f">*</span><span class="b">bufptr</span><span class="f">)</span><span class="f">;</span>
<a name="54" /><span class="Maybe">      54:</span> <span class="f">#</span><span class="n">endif</span>
<a name="55" /><span class="Maybe">      55:</span> 
<a name="56" /><span class="Maybe">      56:</span> <span class="k">/*</span>
<a name="57" /><span class="Maybe">      57:</span> <span class="k"> * CPU notifier priorities.</span>
<a name="58" /><span class="Maybe">      58:</span> <span class="k"> */</span>
<a name="59" /><span class="Maybe">      59:</span> <span class="m">enum</span> <span class="f">{</span>
<a name="60" /><span class="Maybe">      60:</span>     <span class="k">/*</span>
<a name="61" /><span class="Maybe">      61:</span> <span class="k">     * SCHED_ACTIVE marks a cpu which is coming up active during</span>
<a name="62" /><span class="Maybe">      62:</span> <span class="k">     * CPU_ONLINE and CPU_DOWN_FAILED and must be the first</span>
<a name="63" /><span class="Maybe">      63:</span> <span class="k">     * notifier.  CPUSET_ACTIVE adjusts cpuset according to</span>
<a name="64" /><span class="Maybe">      64:</span> <span class="k">     * cpu_active mask right after SCHED_ACTIVE.  During</span>
<a name="65" /><span class="Maybe">      65:</span> <span class="k">     * CPU_DOWN_PREPARE, SCHED_INACTIVE and CPUSET_INACTIVE are</span>
<a name="66" /><span class="Maybe">      66:</span> <span class="k">     * ordered in the similar way.</span>
<a name="67" /><span class="Maybe">      67:</span> <span class="k">     *</span>
<a name="68" /><span class="Maybe">      68:</span> <span class="k">     * This ordering guarantees consistent cpu_active mask and</span>
<a name="69" /><span class="Maybe">      69:</span> <span class="k">     * migration behavior to all cpu notifiers.</span>
<a name="70" /><span class="Maybe">      70:</span> <span class="k">     */</span>
<a name="71" /><span class="Maybe">      71:</span>     <span class="b">CPU_PRI_SCHED_ACTIVE</span>    <span class="f">=</span> <a href="cpu.c_macros_ref.html#_SU5UX01BWF8w"><span class="b">INT_MAX</span></a><span class="f">,</span>
<a name="72" /><span class="Maybe">      72:</span>     <span class="b">CPU_PRI_CPUSET_ACTIVE</span>    <span class="f">=</span> <a href="cpu.c_macros_ref.html#_SU5UX01BWF8w"><span class="b">INT_MAX</span></a> <span class="f">-</span> <span class="c">1</span><span class="f">,</span>
<a name="73" /><span class="Maybe">      73:</span>     <span class="b">CPU_PRI_SCHED_INACTIVE</span>    <span class="f">=</span> <a href="cpu.c_macros_ref.html#_SU5UX01JTl8w"><span class="b">INT_MIN</span></a> <span class="f">+</span> <span class="c">1</span><span class="f">,</span>
<a name="74" /><span class="Maybe">      74:</span>     <span class="b">CPU_PRI_CPUSET_INACTIVE</span>    <span class="f">=</span> <a href="cpu.c_macros_ref.html#_SU5UX01JTl8w"><span class="b">INT_MIN</span></a><span class="f">,</span>
<a name="75" /><span class="Maybe">      75:</span> 
<a name="76" /><span class="Maybe">      76:</span>     <span class="k">/* migration should happen before other stuff but after perf */</span>
<a name="77" /><span class="Maybe">      77:</span>     <span class="b">CPU_PRI_PERF</span>        <span class="f">=</span> <span class="c">20</span><span class="f">,</span>
<a name="78" /><span class="Maybe">      78:</span>     <span class="b">CPU_PRI_MIGRATION</span>    <span class="f">=</span> <span class="c">10</span><span class="f">,</span>
<a name="79" /><span class="Maybe">      79:</span>     <span class="k">/* bring up workqueues before normal notifiers and down after */</span>
<a name="80" /><span class="Maybe">      80:</span>     <span class="b">CPU_PRI_WORKQUEUE_UP</span>    <span class="f">=</span> <span class="c">5</span><span class="f">,</span>
<a name="81" /><span class="Maybe">      81:</span>     <span class="b">CPU_PRI_WORKQUEUE_DOWN</span>    <span class="f">=</span> <span class="f">-</span><span class="c">5</span><span class="f">,</span>
<a name="82" /><span class="Maybe">      82:</span> <span class="f">}</span><span class="f">;</span>
<a name="83" /><span class="Maybe">      83:</span> 
<a name="84" /><span class="Maybe">      84:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX09OTElORV8w"><span class="b">CPU_ONLINE</span></a>        <span class="c">0x0002</span> <span class="k">/* CPU (unsigned)v is up */</span>
<a name="85" /><span class="Maybe">      85:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX1VQX1BSRVBBUkVfMA__"><span class="b">CPU_UP_PREPARE</span></a>        <span class="c">0x0003</span> <span class="k">/* CPU (unsigned)v coming up */</span>
<a name="86" /><span class="Maybe">      86:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX1VQX0NBTkNFTEVEXzA_"><span class="b">CPU_UP_CANCELED</span></a>        <span class="c">0x0004</span> <span class="k">/* CPU (unsigned)v NOT coming up */</span>
<a name="87" /><span class="Maybe">      87:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX0RPV05fUFJFUEFSRV8w"><span class="b">CPU_DOWN_PREPARE</span></a>    <span class="c">0x0005</span> <span class="k">/* CPU (unsigned)v going down */</span>
<a name="88" /><span class="Maybe">      88:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX0RPV05fRkFJTEVEXzA_"><span class="b">CPU_DOWN_FAILED</span></a>        <span class="c">0x0006</span> <span class="k">/* CPU (unsigned)v NOT going down */</span>
<a name="89" /><span class="Maybe">      89:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX0RFQURfMA__"><span class="b">CPU_DEAD</span></a>        <span class="c">0x0007</span> <span class="k">/* CPU (unsigned)v dead */</span>
<a name="90" /><span class="Maybe">      90:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX0RZSU5HXzA_"><span class="b">CPU_DYING</span></a>        <span class="c">0x0008</span> <span class="k">/* CPU (unsigned)v not running any task,</span>
<a name="91" /><span class="Maybe">      91:</span> <span class="k">                    * not handling interrupts, soon dead.</span>
<a name="92" /><span class="Maybe">      92:</span> <span class="k">                    * Called on the dying cpu, interrupts</span>
<a name="93" /><span class="Maybe">      93:</span> <span class="k">                    * are already disabled. Must not</span>
<a name="94" /><span class="Maybe">      94:</span> <span class="k">                    * sleep, must not fail */</span>
<a name="95" /><span class="Maybe">      95:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX1BPU1RfREVBRF8w"><span class="b">CPU_POST_DEAD</span></a>        <span class="c">0x0009</span> <span class="k">/* CPU (unsigned)v dead, cpu_hotplug</span>
<a name="96" /><span class="Maybe">      96:</span> <span class="k">                    * lock is dropped */</span>
<a name="97" /><span class="Maybe">      97:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX1NUQVJUSU5HXzA_"><span class="b">CPU_STARTING</span></a>        <span class="c">0x000A</span> <span class="k">/* CPU (unsigned)v soon running.</span>
<a name="98" /><span class="Maybe">      98:</span> <span class="k">                    * Called on the new cpu, just before</span>
<a name="99" /><span class="Maybe">      99:</span> <span class="k">                    * enabling interrupts. Must not sleep,</span>
<a name="100" /><span class="Maybe">     100:</span> <span class="k">                    * must not fail */</span>
<a name="101" /><span class="Maybe">     101:</span> 
<a name="102" /><span class="Maybe">     102:</span> <span class="k">/* Used for CPU hotplug events occurring while tasks are frozen due to a suspend</span>
<a name="103" /><span class="Maybe">     103:</span> <span class="k"> * operation in progress</span>
<a name="104" /><span class="Maybe">     104:</span> <span class="k"> */</span>
<a name="105" /><span class="Maybe">     105:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX1RBU0tTX0ZST1pFTl8w"><span class="b">CPU_TASKS_FROZEN</span></a>    <span class="c">0x0010</span>
<a name="106" /><span class="Maybe">     106:</span> 
<a name="107" /><span class="Maybe">     107:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q1BVX09OTElORV9GUk9aRU5fMA__"><span class="b">CPU_ONLINE_FROZEN</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_Q1BVX09OTElORV8w"><span class="b">CPU_ONLINE</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_Q1BVX1RBU0tTX0ZST1pFTl8w"><span class="b">CPU_TASKS_FROZEN</span></a><span class="f">)</span>
<a name="108" /><span class="Maybe">     108:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q1BVX1VQX1BSRVBBUkVfRlJPWkVOXzA_"><span class="b">CPU_UP_PREPARE_FROZEN</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_Q1BVX1VQX1BSRVBBUkVfMA__"><span class="b">CPU_UP_PREPARE</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_Q1BVX1RBU0tTX0ZST1pFTl8w"><span class="b">CPU_TASKS_FROZEN</span></a><span class="f">)</span>
<a name="109" /><span class="Maybe">     109:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q1BVX1VQX0NBTkNFTEVEX0ZST1pFTl8w"><span class="b">CPU_UP_CANCELED_FROZEN</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_Q1BVX1VQX0NBTkNFTEVEXzA_"><span class="b">CPU_UP_CANCELED</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_Q1BVX1RBU0tTX0ZST1pFTl8w"><span class="b">CPU_TASKS_FROZEN</span></a><span class="f">)</span>
<a name="110" /><span class="Maybe">     110:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q1BVX0RPV05fUFJFUEFSRV9GUk9aRU5fMA__"><span class="b">CPU_DOWN_PREPARE_FROZEN</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_Q1BVX0RPV05fUFJFUEFSRV8w"><span class="b">CPU_DOWN_PREPARE</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_Q1BVX1RBU0tTX0ZST1pFTl8w"><span class="b">CPU_TASKS_FROZEN</span></a><span class="f">)</span>
<a name="111" /><span class="Maybe">     111:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q1BVX0RPV05fRkFJTEVEX0ZST1pFTl8w"><span class="b">CPU_DOWN_FAILED_FROZEN</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_Q1BVX0RPV05fRkFJTEVEXzA_"><span class="b">CPU_DOWN_FAILED</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_Q1BVX1RBU0tTX0ZST1pFTl8w"><span class="b">CPU_TASKS_FROZEN</span></a><span class="f">)</span>
<a name="112" /><span class="Maybe">     112:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q1BVX0RFQURfRlJPWkVOXzA_"><span class="b">CPU_DEAD_FROZEN</span></a>        <span class="f">(</span><a href="cpu.c_macros_ref.html#_Q1BVX0RFQURfMA__"><span class="b">CPU_DEAD</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_Q1BVX1RBU0tTX0ZST1pFTl8w"><span class="b">CPU_TASKS_FROZEN</span></a><span class="f">)</span>
<a name="113" /><span class="Maybe">     113:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q1BVX0RZSU5HX0ZST1pFTl8w"><span class="b">CPU_DYING_FROZEN</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_Q1BVX0RZSU5HXzA_"><span class="b">CPU_DYING</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_Q1BVX1RBU0tTX0ZST1pFTl8w"><span class="b">CPU_TASKS_FROZEN</span></a><span class="f">)</span>
<a name="114" /><span class="Maybe">     114:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_Q1BVX1NUQVJUSU5HX0ZST1pFTl8w"><span class="b">CPU_STARTING_FROZEN</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_Q1BVX1NUQVJUSU5HXzA_"><span class="b">CPU_STARTING</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_Q1BVX1RBU0tTX0ZST1pFTl8w"><span class="b">CPU_TASKS_FROZEN</span></a><span class="f">)</span>
<a name="115" /><span class="Maybe">     115:</span> 
<a name="116" /><span class="Maybe">     116:</span> 
<a name="117" /><span class="Maybe">     117:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1NNUF8w"><span class="b">CONFIG_SMP</span></a>
<a name="118" /><span class="Maybe">     118:</span> <span class="k">/* Need to know about CPUs going up/down? */</span>
<a name="119" /><span class="Maybe">     119:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_Q09ORklHX0hPVFBMVUdfQ1BVXzA_"><span class="b">CONFIG_HOTPLUG_CPU</span></a><span class="f">)</span> <span class="f">||</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">MODULE</span><span class="f">)</span>
<a name="120" /><span class="Maybe">     120:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Y3B1X25vdGlmaWVyXzA_"><span class="b">cpu_notifier</span></a><span class="f">(</span><span class="b">fn</span><span class="f">,</span> <span class="b">pri</span><span class="f">)</span> <span class="f">{</span>                    \
<a name="121" /><span class="Maybe">     121:</span>     <span class="m">static</span> <span class="m">struct</span> <span class="b">notifier_block</span> <span class="b">fn</span><span class="f">##</span><span class="b">_nb</span> <span class="f">=</span>            \
<a name="122" /><span class="Maybe">     122:</span>         <span class="f">{</span> <span class="f">.</span><span class="b">notifier_call</span> <span class="f">=</span> <span class="b">fn</span><span class="f">,</span> <span class="f">.</span><span class="b">priority</span> <span class="f">=</span> <span class="b">pri</span> <span class="f">}</span><span class="f">;</span>    \
<a name="123" /><span class="Maybe">     123:</span>     <span class="b">register_cpu_notifier</span><span class="f">(</span><span class="f">&amp;</span><span class="b">fn</span><span class="f">##</span><span class="b">_nb</span><span class="f">)</span><span class="f">;</span>            \
<a name="124" /><span class="Maybe">     124:</span> <span class="f">}</span>
<a name="125" /><span class="False">     125:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* #if defined(CONFIG_HOTPLUG_CPU) || !defined(MODULE) */</span>
<a name="126" /><span class="False">     126:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Y3B1X25vdGlmaWVyXzA_"><span class="b">cpu_notifier</span></a><span class="f">(</span><span class="b">fn</span><span class="f">,</span> <span class="b">pri</span><span class="f">)</span>    <span class="m">do</span> <span class="f">{</span> <span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">(</span><span class="b">fn</span><span class="f">)</span><span class="f">;</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="127" /><span class="Maybe">     127:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* #else #if defined(CONFIG_HOTPLUG_CPU) || !defined(MODULE) */</span>
<a name="128" /><span class="Maybe">     128:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX0hPVFBMVUdfQ1BVXzA_"><span class="b">CONFIG_HOTPLUG_CPU</span></a>
<a name="129" /><span class="Maybe">     129:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">register_cpu_notifier</span><span class="f">(</span><span class="m">struct</span> <span class="b">notifier_block</span> <span class="f">*</span><span class="b">nb</span><span class="f">)</span><span class="f">;</span>
<a name="130" /><span class="Maybe">     130:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">unregister_cpu_notifier</span><span class="f">(</span><span class="m">struct</span> <span class="b">notifier_block</span> <span class="f">*</span><span class="b">nb</span><span class="f">)</span><span class="f">;</span>
<a name="131" /><span class="False">     131:</span> <span class="f">#</span><span class="n">else</span>
<a name="132" /><span class="False">     132:</span> 
<a name="133" /><span class="False">     133:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">MODULE</span>
<a name="134" /><span class="False">     134:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">register_cpu_notifier</span><span class="f">(</span><span class="m">struct</span> <span class="b">notifier_block</span> <span class="f">*</span><span class="b">nb</span><span class="f">)</span><span class="f">;</span>
<a name="135" /><span class="False">     135:</span> <span class="f">#</span><span class="n">else</span>
<a name="136" /><span class="False">     136:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">register_cpu_notifier</span><span class="f">(</span><span class="m">struct</span> <span class="b">notifier_block</span> <span class="f">*</span><span class="b">nb</span><span class="f">)</span>
<a name="137" /><span class="False">     137:</span> <span class="f">{</span>
<a name="138" /><span class="False">     138:</span>     <span class="m">return</span> <span class="c">0</span><span class="f">;</span>
<a name="139" /><span class="False">     139:</span> <span class="f">}</span>
<a name="140" /><span class="False">     140:</span> <span class="f">#</span><span class="n">endif</span>
<a name="141" /><span class="False">     141:</span> 
<a name="142" /><span class="False">     142:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">unregister_cpu_notifier</span><span class="f">(</span><span class="m">struct</span> <span class="b">notifier_block</span> <span class="f">*</span><span class="b">nb</span><span class="f">)</span>
<a name="143" /><span class="False">     143:</span> <span class="f">{</span>
<a name="144" /><span class="False">     144:</span> <span class="f">}</span>
<a name="145" /><span class="Maybe">     145:</span> <span class="f">#</span><span class="n">endif</span>
<a name="146" /><span class="Maybe">     146:</span> 
<a name="147" /><span class="Maybe">     147:</span> <span class="m">int</span> <span class="b">cpu_up</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">int</span> <span class="b">cpu</span><span class="f">)</span><span class="f">;</span>
<a name="148" /><span class="Maybe">     148:</span> <span class="m">void</span> <span class="b">notify_cpu_starting</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">int</span> <span class="b">cpu</span><span class="f">)</span><span class="f">;</span>
<a name="149" /><span class="Maybe">     149:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">cpu_maps_update_begin</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="150" /><span class="Maybe">     150:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">cpu_maps_update_done</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="151" /><span class="Maybe">     151:</span> 
<a name="152" /><span class="False">     152:</span> <span class="f">#</span><span class="n">else</span>    <span class="k">/* CONFIG_SMP */</span>
<a name="153" /><span class="False">     153:</span> 
<a name="154" /><span class="False">     154:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Y3B1X25vdGlmaWVyXzA_"><span class="b">cpu_notifier</span></a><span class="f">(</span><span class="b">fn</span><span class="f">,</span> <span class="b">pri</span><span class="f">)</span>    <span class="m">do</span> <span class="f">{</span> <span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">(</span><span class="b">fn</span><span class="f">)</span><span class="f">;</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="155" /><span class="False">     155:</span> 
<a name="156" /><span class="False">     156:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">register_cpu_notifier</span><span class="f">(</span><span class="m">struct</span> <span class="b">notifier_block</span> <span class="f">*</span><span class="b">nb</span><span class="f">)</span>
<a name="157" /><span class="False">     157:</span> <span class="f">{</span>
<a name="158" /><span class="False">     158:</span>     <span class="m">return</span> <span class="c">0</span><span class="f">;</span>
<a name="159" /><span class="False">     159:</span> <span class="f">}</span>
<a name="160" /><span class="False">     160:</span> 
<a name="161" /><span class="False">     161:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">unregister_cpu_notifier</span><span class="f">(</span><span class="m">struct</span> <span class="b">notifier_block</span> <span class="f">*</span><span class="b">nb</span><span class="f">)</span>
<a name="162" /><span class="False">     162:</span> <span class="f">{</span>
<a name="163" /><span class="False">     163:</span> <span class="f">}</span>
<a name="164" /><span class="False">     164:</span> 
<a name="165" /><span class="False">     165:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">cpu_maps_update_begin</span><span class="f">(</span><span class="m">void</span><span class="f">)</span>
<a name="166" /><span class="False">     166:</span> <span class="f">{</span>
<a name="167" /><span class="False">     167:</span> <span class="f">}</span>
<a name="168" /><span class="False">     168:</span> 
<a name="169" /><span class="False">     169:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">cpu_maps_update_done</span><span class="f">(</span><span class="m">void</span><span class="f">)</span>
<a name="170" /><span class="False">     170:</span> <span class="f">{</span>
<a name="171" /><span class="False">     171:</span> <span class="f">}</span>
<a name="172" /><span class="False">     172:</span> 
<a name="173" /><span class="Maybe">     173:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* CONFIG_SMP */</span>
<a name="174" /><span class="Maybe">     174:</span> <span class="m">extern</span> <span class="m">struct</span> <span class="b">bus_type</span> <span class="b">cpu_subsys</span><span class="f">;</span>
<a name="175" /><span class="Maybe">     175:</span> 
<a name="176" /><span class="Maybe">     176:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX0hPVFBMVUdfQ1BVXzA_"><span class="b">CONFIG_HOTPLUG_CPU</span></a>
<a name="177" /><span class="Maybe">     177:</span> <span class="k">/* Stop CPUs going up and down. */</span>
<a name="178" /><span class="Maybe">     178:</span> 
<a name="179" /><span class="Maybe">     179:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">cpu_hotplug_begin</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="180" /><span class="Maybe">     180:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">cpu_hotplug_done</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="181" /><span class="Maybe">     181:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">get_online_cpus</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="182" /><span class="Maybe">     182:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">put_online_cpus</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="183" /><span class="Maybe">     183:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">cpu_hotplug_disable</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="184" /><span class="Maybe">     184:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">cpu_hotplug_enable</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="185" /><span class="Maybe">     185:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_aG90Y3B1X25vdGlmaWVyXzA_"><span class="b">hotcpu_notifier</span></a><span class="f">(</span><span class="b">fn</span><span class="f">,</span> <span class="b">pri</span><span class="f">)</span>    <a href="cpu.c_macros_noref.html#_Y3B1X25vdGlmaWVyXzA_"><span class="b">cpu_notifier</span></a><span class="f">(</span><span class="b">fn</span><span class="f">,</span> <span class="b">pri</span><span class="f">)</span>
<a name="186" /><span class="Maybe">     186:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_cmVnaXN0ZXJfaG90Y3B1X25vdGlmaWVyXzA_"><span class="b">register_hotcpu_notifier</span></a><span class="f">(</span><span class="b">nb</span><span class="f">)</span>    <span class="b">register_cpu_notifier</span><span class="f">(</span><span class="b">nb</span><span class="f">)</span>
<a name="187" /><span class="Maybe">     187:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_dW5yZWdpc3Rlcl9ob3RjcHVfbm90aWZpZXJfMA__"><span class="b">unregister_hotcpu_notifier</span></a><span class="f">(</span><span class="b">nb</span><span class="f">)</span>    <span class="b">unregister_cpu_notifier</span><span class="f">(</span><span class="b">nb</span><span class="f">)</span>
<a name="188" /><span class="Maybe">     188:</span> <span class="m">void</span> <span class="b">clear_tasks_mm_cpumask</span><span class="f">(</span><span class="m">int</span> <span class="b">cpu</span><span class="f">)</span><span class="f">;</span>
<a name="189" /><span class="Maybe">     189:</span> <span class="m">int</span> <span class="b">cpu_down</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">int</span> <span class="b">cpu</span><span class="f">)</span><span class="f">;</span>
<a name="190" /><span class="Maybe">     190:</span> 
<a name="191" /><span class="False">     191:</span> <span class="f">#</span><span class="n">else</span>        <span class="k">/* CONFIG_HOTPLUG_CPU */</span>
<a name="192" /><span class="False">     192:</span> 
<a name="193" /><span class="False">     193:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">cpu_hotplug_begin</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="f">{</span><span class="f">}</span>
<a name="194" /><span class="False">     194:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">cpu_hotplug_done</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="f">{</span><span class="f">}</span>
<a name="195" /><span class="False">     195:</span> <span class="f">#</span><span class="n">define</span> <span class="b">get_online_cpus</span><span class="f">(</span><span class="f">)</span>    <span class="m">do</span> <span class="f">{</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="196" /><span class="False">     196:</span> <span class="f">#</span><span class="n">define</span> <span class="b">put_online_cpus</span><span class="f">(</span><span class="f">)</span>    <span class="m">do</span> <span class="f">{</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="197" /><span class="False">     197:</span> <span class="f">#</span><span class="n">define</span> <span class="b">cpu_hotplug_disable</span><span class="f">(</span><span class="f">)</span>    <span class="m">do</span> <span class="f">{</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="198" /><span class="False">     198:</span> <span class="f">#</span><span class="n">define</span> <span class="b">cpu_hotplug_enable</span><span class="f">(</span><span class="f">)</span>    <span class="m">do</span> <span class="f">{</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="199" /><span class="False">     199:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_aG90Y3B1X25vdGlmaWVyXzA_"><span class="b">hotcpu_notifier</span></a><span class="f">(</span><span class="b">fn</span><span class="f">,</span> <span class="b">pri</span><span class="f">)</span>    <span class="m">do</span> <span class="f">{</span> <span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">(</span><span class="b">fn</span><span class="f">)</span><span class="f">;</span> <span class="f">}</span> <span class="m">while</span> <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="200" /><span class="False">     200:</span> <span class="k">/* These aren&apos;t inline functions due to a GCC bug. */</span>
<a name="201" /><span class="False">     201:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_cmVnaXN0ZXJfaG90Y3B1X25vdGlmaWVyXzA_"><span class="b">register_hotcpu_notifier</span></a><span class="f">(</span><span class="b">nb</span><span class="f">)</span>    <span class="f">(</span><span class="f">{</span> <span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">(</span><span class="b">nb</span><span class="f">)</span><span class="f">;</span> <span class="c">0</span><span class="f">;</span> <span class="f">}</span><span class="f">)</span>
<a name="202" /><span class="False">     202:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_dW5yZWdpc3Rlcl9ob3RjcHVfbm90aWZpZXJfMA__"><span class="b">unregister_hotcpu_notifier</span></a><span class="f">(</span><span class="b">nb</span><span class="f">)</span>    <span class="f">(</span><span class="f">{</span> <span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">(</span><span class="b">nb</span><span class="f">)</span><span class="f">;</span> <span class="f">}</span><span class="f">)</span>
<a name="203" /><span class="Maybe">     203:</span> <span class="f">#</span><span class="n">endif</span>        <span class="k">/* CONFIG_HOTPLUG_CPU */</span>
<a name="204" /><span class="Maybe">     204:</span> 
<a name="205" /><span class="Maybe">     205:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1BNX1NMRUVQX1NNUF8w"><span class="b">CONFIG_PM_SLEEP_SMP</span></a>
<a name="206" /><span class="Maybe">     206:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">disable_nonboot_cpus</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="207" /><span class="Maybe">     207:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">enable_nonboot_cpus</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="208" /><span class="False">     208:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* !CONFIG_PM_SLEEP_SMP */</span>
<a name="209" /><span class="False">     209:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">disable_nonboot_cpus</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="f">{</span> <span class="m">return</span> <span class="c">0</span><span class="f">;</span> <span class="f">}</span>
<a name="210" /><span class="False">     210:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">enable_nonboot_cpus</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="f">{</span><span class="f">}</span>
<a name="211" /><span class="Maybe">     211:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !CONFIG_PM_SLEEP_SMP */</span>
<a name="212" /><span class="Maybe">     212:</span> 
<a name="213" /><span class="Maybe">     213:</span> <span class="m">enum</span> <span class="b">cpuhp_state</span> <span class="f">{</span>
<a name="214" /><span class="Maybe">     214:</span>     <span class="b">CPUHP_OFFLINE</span><span class="f">,</span>
<a name="215" /><span class="Maybe">     215:</span>     <span class="b">CPUHP_ONLINE</span><span class="f">,</span>
<a name="216" /><span class="Maybe">     216:</span> <span class="f">}</span><span class="f">;</span>
<a name="217" /><span class="Maybe">     217:</span> 
<a name="218" /><span class="Maybe">     218:</span> <span class="m">void</span> <span class="b">cpu_startup_entry</span><span class="f">(</span><span class="m">enum</span> <span class="b">cpuhp_state</span> <span class="b">state</span><span class="f">)</span><span class="f">;</span>
<a name="219" /><span class="Maybe">     219:</span> <span class="m">void</span> <span class="b">cpu_idle</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="220" /><span class="Maybe">     220:</span> 
<a name="221" /><span class="Maybe">     221:</span> <span class="m">void</span> <span class="b">cpu_idle_poll_ctrl</span><span class="f">(</span><span class="m">bool</span> <span class="b">enable</span><span class="f">)</span><span class="f">;</span>
<a name="222" /><span class="Maybe">     222:</span> 
<a name="223" /><span class="Maybe">     223:</span> <span class="m">void</span> <span class="b">arch_cpu_idle</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="224" /><span class="Maybe">     224:</span> <span class="m">void</span> <span class="b">arch_cpu_idle_prepare</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="225" /><span class="Maybe">     225:</span> <span class="m">void</span> <span class="b">arch_cpu_idle_enter</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="226" /><span class="Maybe">     226:</span> <span class="m">void</span> <span class="b">arch_cpu_idle_exit</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="227" /><span class="Maybe">     227:</span> <span class="m">void</span> <span class="b">arch_cpu_idle_dead</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="228" /><span class="Maybe">     228:</span> 
<a name="229" /><span class="True">     229:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _LINUX_CPU_H_ */</span>
<a name="230" /><span class="True">     230:</span> </pre>
  </body>
</html>
